Users communicating over a network typically use a physical device, such as a telephone, a text messenger, a cell phone, a personal digital assistant (PDA), a networked audio/video player, a personal computer, or a public terminal, to interconnect and share information with other users on the network. These networked devices provide an increased ability to compose and consume information, and to interact socially through the sharing of information. A user device on a network is sometimes referred to as a host. This disclosure relates generally to an improved mechanism for composing, sharing, disseminating, and consuming various types of information among interconnected users.
The shared information is perceived by a consuming user (consumer). The consumer perceives information conveyed through various forms of media objects, including text, voice, audio recordings, pictures, or videos. Descriptions of one or more forms of media objects may be combined in a data object, which the consumer accesses over the network. The data object may contain additional “metadata” information which is not typically observed by the consumer, but may instead define parameters useful in conveying information to the consumer, such as user identifiers, data locaters, data types, or data interpretation resources, as described below. Metadata may combine one of more specialized categories of metadata, such as a “meta identifier”, a “meta keyword”, and so on.
The consumer experiences a virtual reality, stimulated by a plethora of multimedia information. As opposed to the real world, where social interactions often depend on physical characteristics of the communicator, in a virtual social network the composing user (composer) is limited only by his ability to stimulate others through the sharing of information. Composers on networks are currently able to perform social functions which are analogous to their real world counter-parts, such as to compose mail to write diaries, or to publish original works or compositions of other works, all in electronic form over the network.
Modern computer networks are typically hierarchical transmission networks with multiple layers of transmission protocols. A transmission network is a system that allows two or more transceivers to exchange data, whereas a transmission protocol is a sequence of standard interactive steps that facilitate the exchange. Typically, the lowest level protocols are more concretely tied to the interaction of physical circuitry, whereas higher levels of protocols are more abstract to facilitate higher level processing at an algorithmic level. For example, in the vernacular “the web,” also known as “the internet,” has become shorthand for a multi-layer computer communications system, which combines higher level protocols for access, mid-level protocols, such as a means of locating resources available on the network using a system of uniform resource locaters (URLs), and low-level hardware transmission control protocol/internet protocols (TCP/IP) which control the exchange of large, uneven blocks of data by breaking them into smaller, standardized packets. Generally, the various levels of communication protocols are seamless to the user, who seeks improved means to gather information, compose new information, and share that information with other users, without the burden of managing lower-level protocols or learning new programming languages.
In the context of a computer network, a “server” is physically one or more computer systems connected to the network, containing a set of one or more central processing units (CPUs) and support circuitry operative to execute a sequence of one or more processor instructions to process data. A sequence of one or more processor instructions for a particular purpose or application is known as an application program. Physical circuitry in a server typically includes one or more CPUs, a plurality of interfaces for inputting application programs and data, a plurality of memories for storing programs and data, a plurality of interfaces for outputting programs and data, and a plurality of transceivers for exchanging data and commands with other servers. Data may be organized in storage to facilitate efficient processing, such as by storing the data in a “database” consisting of a collection of data indexed by relationships between the various forms of data contained therein. A “virtual server” consists of a set of one or more servers interconnected hierarchically to perform high-level functions as combined functions of several servers under central control.
Functionally, a server executes a sequence of low-level CPU commands to complete instructions for processing data. A server typically accepts instructions and executes commands for a multitude of remote “clients”. The instructions may include, but are not limited to, instructions to store or retrieve data, to modify, verify or erase data, or to reorganize data. The server may also initiate instructions for other network-attached devices. For example, a virtual “music server” might maintain a database to locate a library of musical compositions. The music server might receive commands to store new songs or retrieve old ones from a number of clients. Further, the music server might send commands to other devices on the network, e.g., to disseminate the musical database among various subservient sewers, such as a “jazz server,” a “hip-hop server,” a “classical server,” and so on, to register paying user requests in a “billing server,” to verify the identity, preferences, and access privileges of a user in a “registration server” and so on. The “music server” may therefore also be a client of other servers. Practitioners of the art will recognize that servers and clients are abstract interactive devices controlled by software instructions, whose interaction protocols may be flexibly defined. A “client” as used herein may include functionally to process information and programs, as well as to issue commands. Similarly, a “server” as used herein may include functionally to initiate commands to user device(s) and other servers as well as to respond to instructions.
Similarly, a database should not be construed to be a single physical collection of data. As used herein, a database is an abstract collection of data. Said data may be stored physically within a single or multiple servers, within attached physical device(s), network attached device(s), or user devices(s). Similarly, an application program should not be construed to be a single physical collection of commands. As used herein, an application program is an abstract collection of computer-readable commands, which may be physically executed, in whole or in part, within a single or multiple servers, within attached physical devices(s), within network attached device(s), or within user device(s).
A network user utilizes a number of application programs to create or consume content on the network. Example application programs include a “browser,” an “e-mail client,” a “blog client,” and a “media player.”
A browser is an application program that is generally intended to display multimedia content. The browser typically displays multimedia content in a virtual book format, typically displayed as one or more individually framed “web pages,” along with means for navigating to other related web pages. A web page is typically a two-dimensional image appearing as an individual page of information including one or more types of associated media. A web page may also be associated with consumer perceived audio and/or video output. Data for web pages is often described in a format known as a Document Object Model (DOM).
The multimedia content may be directly perceived on the web page or may be indirectly accessible. Content on the page may be directly perceived by including displayed images, videos, or a media player rendered within the image of the page. Examples of indirect access include access to audio recording media through background music, access through an auxiliary page or pop-up window, access through an auxiliary program such as Microsoft's Windows Media Player®, access through an auxiliary remotely interconnected device such as a networked display, or access provided through a link to another page. Many web pages incorporate one or more “hot links.” The hot link enables a consumer to access another web page or another application by pointing to and clicking on the hot link using a pointing device such as a mouse. Consumers typically have the ability to reject the web page or additional media offering(s) through controls in the browser user interface, such as by clicking on a “close box” using the mouse.
A network user may also become a composer to create new web pages. Web pages may be created by any number of individuals, groups, businesses, or automated processes. Web pages are typically stored as a document using a common programming language, such as Hyper Text Markup Language (HTML). The composer may compose the web page directly by creating a description in the common programming language, or may compose the web page indirectly using an application program to combine text descriptions and other media into a page description in HTML or another suitable language. A composer may further combine one or more web pages to create a “website.” A website may be self-contained, in that it consists solely of web pages created for that site and a means for navigating among the contained web pages. More commonly, a website contains a combination of composer-generated content as well as links to other content or applications on the web. Typically, the composer may review a new web page or website composition on his computer using his browser. The composer may also disseminate the new web page or website to other users on the network by publishing his page description(s) on a “web server”, where a web server is a server connected to the communications network that will provide published web pages in response to requests from authorized users on the network.
To use the web server to publish a page, the composer typically registers with a service-provider, such as Yahoo! Geocities®. Composers who wish to enhance a web page with media content other than text typically complete a cumbersome process of locating and incorporating the content. When the web page(s) are published, the composer and service-provider may be exposed to legal liability for incorporating copyrighted or inappropriate content. Although the composer or service-provider could potentially license the incorporated content, transaction costs may be too high for individual composers.
In addition, the composing user may not have the same access privileges as a consuming user. For example, the composer may have a subscription service to an internet service-provider, which licenses the downloading of music files. A consumer on the network accessing the composition may not have the same subscription-based privileges. The composer seeks to provide additional media content for any consumer, without the burden of determining consumer access privileges.
A popular form of web page for individual users is an online diary, known as a “web log” or “blog.” The blog composer is also known as a “blogger.” The blogger typically provides textual descriptions of personal experiences and/or other types of publishable information, and shares them with other network users of the network in a sequence of blog pages. Although the blogger desires to enhance blog pages with related media content to create a multimedia experience for the blog consumer, he faces similar difficulties to those encountered by other web page composers. As a result, bloggers typically use the services of a standardized blog composition and display service-provider, such as Yahoo! 360° Blog®. Standardized blog composition services give composers limited control over their compositions. These limitations may include limited access to embeddable media, limited varieties of page composition, and limited access to embeddable media players. Composers generally are limited to locating related media content on their own. In addition, blog displays on a service-provider are typically limited to one scrollable page per user, are accessible only to other users of the service-provider, and the service-provider controls the overall composition of the website.
An e-mail client typically has the option of accessing electronic mail through a specialized e-mail client application or a general-purpose web browser application. Either application allows a user to compose mail messages as well as to consume messages. E-mail messages typically consist of text and optionally include one or more instances of user-attached media objects. The e-mail messages are typically stored in data objects including text and optionally HTML. To use e-mail, the network user typically registers with an e-mail service-provider, such as Yahoo! Mail®. The service-provider typically maintains a virtual e-mail server for its various service customers' use with e-mail client software. The e-mail server provides a facility for e-mail clients to authenticate themselves and interact with the appropriate subservient server. Users who wish to enhance their e-mails with media objects other than text typically complete a cumbersome process of locating, attaching, and uploading the additional content for the enhanced e-mail.